package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 出库单对象 cc_chuku_info
 *
 * @author 张志煜
 * @date 2022-11-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CcChukuInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;
    /** 公司名称 */
//    @Excel(name = "公司名称")
    private String factoryName;
    /** 公司代码 */
//    @Excel(name = "公司代码")
    private String factoryCode;
    @Excel(name = "姓名" ,type = Excel.Type.EXPORT)
    private String createBy;
    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kuweiCode;
    /** 出库数量 */
    @Excel(name = "出库数量")
    private BigDecimal ckNum;
    /** 出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date chukuDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String chukuDateStart;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String chukuDateEnd;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 物料名称(英文) */
    @Excel(name = "物料名称(英文)")
    private String itemNameEn;
    /** 物料遍号 */
    @Excel(name = "物料遍号")
    private String itemCode;

    /** 物料号 */
    @Excel(name = "物料子遍号")
    private String itemId;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String spec;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String unit;

    /** 批次 */
    @Excel(name = "批次")
    private String lot;
    /** 客户名称 */
    @Excel(name = "客户名称")
    private String clientName;
    /** 条形码 */
    @Excel(name = "设备编码")
    private String txm;
    /** 拣货人 */
    @Excel(name = "联系人")
    private String pickingName;

    /** 拣货工段位 */
    @Excel(name = "联系电话")
    private String pickingSegment;

    /** 出库单号 */
    @Excel(name = "出库单号")
    private String danhao;
    /** 接收仓库 */
    @Excel(name = "接收仓库")
    private String receivingStockId;
    /** 物料类型 */
    @Excel(name = "物料类型")
    private String className;

    /** 出库类型 */
    @Excel(name = "出库类型")
    private Long chukuType;
    /** 组别 */
    @Excel(name = "出库原因")
    private String zubie;
    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 订单类型 */
    //@Excel(name = "订单类型")
    private String orderType;

    /** 销售订单编号 */
    //@Excel(name = "销售订单编号")
    private String orderDanhao;

    /** 合同编号 */
   // @Excel(name = "合同编号")
    private String contractCode;
    /** 客户代码 */
   // @Excel(name = "客户代码")
    private String clientCode;



    /** 合同数量 */
   // @Excel(name = "合同数量")
    private BigDecimal contractNum;
    /** 计划号 */
    //@Excel(name = "计划号")
    private String planId;

    /** 计划出库数量 */
   // @Excel(name = "计划出库数量")
    private BigDecimal jhckNum;

  /*  *//** 实际出库数量 *//*
    //@Excel(name = "实际出库数量")
    private BigDecimal ckNum;*/

    //库存可用数量
    private BigDecimal kyNum;



    /** 供应商 */
    //@Excel(name = "供应商")
    private Long supplyId;

    /** 供应商名称 */
    //@Excel(name = "供应商名称")
    private String supplyName;

    /** 仓库编号 */
   // @Excel(name = "仓库编号")
    private String stockId;

    /** 仓库名称 */
   // @Excel(name = "仓库名称")
    private String stockName;

    /** 库区编码 */
   // @Excel(name = "库区编码")
    private String kuquCode;

    /** 库区名称 */
    //@Excel(name = "库区名称")
    private String kuquName;

   /* *//** 库位编码 *//*
    @Excel(name = "库位编码")
    private String kuweiCode;*/

    /** 价格 */
   // @Excel(name = "价格")
    private BigDecimal price;

    /** 总价 */
   // @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 单价 */
    //@Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 物料类型id */
    //@Excel(name = "物料类型id")
    private String classId;


    /** 托管标识 */
    //@Excel(name = "托管标识")
    private String isTuoguan;

    /** 质量状态 */
   // @Excel(name = "质量状态")
    private String qualityState;

    /** 制造商编码 */
    //@Excel(name = "制造商编码")
    private String makerCode;

    /** 制造商名称 */
    //@Excel(name = "制造商名称")
    private String makerName;

    /** 尺寸 */
    //@Excel(name = "尺寸")
    private BigDecimal size;

    /** 单重 */
   // @Excel(name = "单重")
    private BigDecimal singleWeight;

    /** 总重 */
    //@Excel(name = "总重")
    private BigDecimal totalWeight;

    /** 使用状态 */
   // @Excel(name = "使用状态")
    private String useState;

    /** 颜色 */
   // @Excel(name = "颜色")
    private String color;

    /** 花纹 */
    //@Excel(name = "花纹")
    private String figure;

    /** 材质 */
   // @Excel(name = "材质")
    private String caizhi;



    /** 托盘码 */
   // @Excel(name = "托盘码")
    private String tpm;

    /** 配送条形码 */
    //@Excel(name = "配送条形码")
    private String pstxm;

    /** 配送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "配送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date psTime;





    /** 拣货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "拣货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pickingTime;

    /** 条码打印次数 */
    //@Excel(name = "条码打印次数")
    private Long txmPrintNum;

    /** 出库单打印次数 */
   // @Excel(name = "出库单打印次数")
    private Long ckPrintNum;

    /** 器具号 */
    //@Excel(name = "器具号")
    private String utensilNo;

    /** SAP凭证 */
    //@Excel(name = "SAP凭证")
    private String sapProof;

    /** 状态 */
   // @Excel(name = "状态")
    private Long ckState;

    /** 接收入库回写状态 */
   // @Excel(name = "接收入库回写状态")
    private String zzhxState;

    /** 接收入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "接收入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date zzrkTime;

    /** 接收入库备注 */
    //@Excel(name = "接收入库备注")
    private String zzrkRemark;

    /** 接收入库人 */
    //@Excel(name = "接收入库人")
    private String zzrkName;

    /** 接收入库数 */
   // @Excel(name = "接收入库数")
    private BigDecimal zzrkNum;
    /** 接收单位 */
   //@Excel(name = "接收单位")
    private String receivingUnit;


    private List<CcChukuInfo> infoList;
    //记录出库的库存
    private Long  stockinfoId;

    //查询参数id
    private Long[] ckIds;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private String startDate;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String endDate;

    /** 平账状态 */
    // @Excel(name = "平账状态")
    private Long pzState;

}
